package top.honlnk.common.utils;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import lombok.extern.slf4j.Slf4j;
import top.honlnk.pojo.entity.ServiceStaff;

import java.util.Date;

@Slf4j
public class JWTTokenUtil {

    /**
     * 生成token
     */
    public static String genToken(String userId, String password, int days) {
        DateTime dateTime;
        if (days < 0) {
            dateTime = DateUtil.offsetMinute(new Date(), 5);
        } else if (days == 0) {
            dateTime = DateUtil.offsetHour(new Date(), 6);
        } else {
            dateTime = DateUtil.offsetDay(new Date(), days);
        }
        return JWT.create().withAudience(userId)        // 将 user id 保存到 token 里面，作为载荷
                .withExpiresAt(dateTime)                // 指定过期时间
                .sign(Algorithm.HMAC256(password));  // 以 password 作为 token 的密钥
    }


    /**
     * 获取当前登录的用户信息
     */
    public static ServiceStaff getCurrentUser() {
        return null;
    }
}